package com.dlc.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 订单支付记录
 * @author Citrus
 * @date 2022-05-18 17:03:18
 */
@Data
@TableName("tz_pay_info")
@Schema(description = "订单支付记录")
public class PayInfo implements Serializable{

    @Schema(description = "支付单号" )
    private String payNo;

    @Schema(description = "外部订单流水号" )
    private String bizPayNo;

    /**
     * 第三方系统的订单号
     * (paypal支付有个回调时间，在回调之前，目前还没有看到可以用本地系统交易单号来查询交易单，
     * 只有通过记录第三方系统的订单号，来查询第三方系统的订单
     * )
     */
    @Schema(description = "第三方系统的订单号(paypal)" )
    private String bizOrderNo;

    /**
     *  请求日期
     */
    private String reqDate;

    @Schema(description = "用户id" )
    private String userId;

    @Schema(description = "本次支付关联的多个订单号" )
    private String orderNumbers;

    @Schema(description = "支付入口 0订单 1充值 2会员" )
    private Integer payEntry;

    @Schema(description = "支付系统类型(0:原生支付, 1:通联支付)")
    private Integer paySysType;

    @Schema(description = "支付方式 1微信 2支付宝 " )
    private Integer payType;

    @Schema(description = "支付状态" )
    private Integer payStatus;

    @Schema(description = "支付积分" )
    private Long payScore;

    @Schema(description = "支付金额" )
    private Double payAmount;

    @Schema(description = "创建时间" )
    private Date createTime;

    @Schema(description = "版本号" )
    private Integer version;

    @Schema(description = "回调内容" )
    private String callbackContent;

    @Schema(description = "回调时间" )
    private Date callbackTime;

    /**
     * com.dlc.shop.bean.enums.SystemEnum
     */
    @Schema(description = "系统类型" )
    private Integer systemType;

    /**
     * 支付给商城的用户id，通联支付独有
     */
    private String toUserId;


    /**
     * 第三方系统userid
     */
    private String bizUserId;

    private String payInfo;

}
